﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BusinnesLayer.LogicBusiness;
using System.Web.Services;
using System.Web.Script.Services;
using EntitiesLayer.Entities;

namespace ClinicaSanPablo
{
    public partial class MantenimientoMotivo : System.Web.UI.Page
    {
        private static Combosbl ptb = new Combosbl();

        private static System.Web.Script.Serialization.JavaScriptSerializer jsonSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();

        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public static string ComboMotivoGeneral()
        {
            List<Combos> getMotivoGeneral = ptb.GetAllComboMotivoGeneral();
            return jsonSerializer.Serialize(getMotivoGeneral);
        }

        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public static string RegistrarMotivoGeneral(string DescripcionGeneral, string FechaRegistro, string FechaActualizacion, string CodUsuario)
        {
            try
            {
                Mantenimientosbl mbl = new Mantenimientosbl();

                Mantenimientos m = new Mantenimientos
                {
                    DesGeneral = DescripcionGeneral,
                    FecRegistro = Convert.ToDateTime(FechaRegistro),
                    FecActualizacion = Convert.ToDateTime(FechaActualizacion),
                    NumDocUsuario = CodUsuario
                };
                mbl.InsertMotivoGeneral(m);

                var data = new
                {
                    resultado = true
                };
                return jsonSerializer.Serialize(data);
            }
            catch (Exception ex)
            {
                var data = new
                {
                    resultado = false
                };
                return jsonSerializer.Serialize(data);
            }
        }

        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public static string RegistrarMotivoEspecifico(string DescripcionEspecifico, string CodigoGeneral, string FechaRegistro, string FechaActualizacion, string CodUsuario)
        {
            try
            {
                Mantenimientosbl mbl = new Mantenimientosbl();

                Mantenimientos m = new Mantenimientos
                {
                    DesEspecifico = DescripcionEspecifico,
                    CodGeneral = CodigoGeneral,
                    FecRegistro = Convert.ToDateTime(FechaRegistro),
                    FecActualizacion = Convert.ToDateTime(FechaActualizacion),
                    NumDocUsuario = CodUsuario
                };
                mbl.InsertMotivoEspecifico(m);

                var data = new
                {
                    resultado = true
                };
                return jsonSerializer.Serialize(data);
            }
            catch (Exception ex)
            {
                var data = new
                {
                    resultado = false
                };
                return jsonSerializer.Serialize(data);
            }
        }

        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public static string DeleteMotivoGeneral(string codMotivoGeneral)
        {
            try
            {
                Mantenimientosbl mbl = new Mantenimientosbl();

                Mantenimientos m = new Mantenimientos
                {
                    CodGeneral = codMotivoGeneral
                };
                mbl.DeleteMotivoGeneral(m);

                var data = new
                {
                    resultado = true
                };
                return jsonSerializer.Serialize(data);
            }
            catch (Exception ex)
            {
                var data = new
                {
                    resultado = false
                };
                return jsonSerializer.Serialize(data);
            }
        }

        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public static string DeleteMotivoEspecifico(string codMotivoEspecifico)
        {
            try
            {
                Mantenimientosbl mbl = new Mantenimientosbl();

                Mantenimientos m = new Mantenimientos
                {
                    CodEspecifico = codMotivoEspecifico
                };
                mbl.DeleteMotivoEspecifico(m);

                var data = new
                {
                    resultado = true
                };
                return jsonSerializer.Serialize(data);
            }
            catch (Exception ex)
            {
                var data = new
                {
                    resultado = false
                };
                return jsonSerializer.Serialize(data);
            }
        }

        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public static string UpdateMotivoGeneral(string codMotivoGeneral, string descripcionGeneral, string fechaActualizacion)
        {
            try
            {
                Mantenimientosbl mbl = new Mantenimientosbl();

                Mantenimientos m = new Mantenimientos
                {
                    CodGeneral = codMotivoGeneral,
                    DesGeneral = descripcionGeneral,
                    FecActualizacion = Convert.ToDateTime(fechaActualizacion)
                };
                mbl.UpdateMotivoGeneral(m);

                var data = new
                {
                    resultado = true
                };
                return jsonSerializer.Serialize(data);
            }
            catch (Exception ex)
            {
                var data = new
                {
                    resultado = false
                };
                return jsonSerializer.Serialize(data);
            }

        }

        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public static string UpdateMotivoEspecifico(string codigoMotivoEspecifico, string descripcionEspecifico, string codigoGeneral, string fechaActualizacion)
        {
            try
            {
                Mantenimientosbl mbl = new Mantenimientosbl();

                Mantenimientos m = new Mantenimientos
                {
                    CodEspecifico = codigoMotivoEspecifico,
                    DesEspecifico = descripcionEspecifico,
                    CodGeneral = codigoGeneral,
                    FecActualizacion = Convert.ToDateTime(fechaActualizacion)
                };
                mbl.UpdateMotivoEspecifico(m);

                var data = new
                {
                    resultado = true
                };
                return jsonSerializer.Serialize(data);
            }
            catch (Exception ex)
            {
                var data = new
                {
                    resultado = false
                };
                return jsonSerializer.Serialize(data);
            }

        }

        protected void Page_Load(object sender, EventArgs e)
        {

        }
    }
}